Braid: Integrating Task and Data Parallelism]

نویسندگان

  • Emily A. West
  • Andrew S. Grimshaw
چکیده

Archetype data parallel or task parallel applications are well served by contemporary languages. However, for applications containing a balance of task and data parallelism the choice of language is less clear. While there are languages that enable both forms of parallelism, e.g., one can write data parallel programs using a task parallel language, there are few languages which support both. We present a set of data parallel extensions to the Mentat Programming Language (MPL) which allow us to integrate task parallelism, data parallelism. and nested task and data parallelism within a single language on top of a single run time system. The result is an object-oriented language, Braid, that supports both task and data parallelism on MIMD machines. In addition, the data parallel extensions define a language in and of itself which makes a number of contributions to the data parallel programming style. These include subsetlevel operations (a more general notion of element-level operations), compiler provided iteration within a data parallel data set and the ability to define complex data parallel operations.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Approaches for integrating task and data parallelism

Languages that support both task and data parallelism are highly general and can exploit both forms of parallelism within a single application. However, integrating the two forms of paral-lelism cleanly and within a coherent programming model is diicult. This paper describes four languages (Fx, Opus, Orca, and Braid) that try to achieve such an integration and identiies several problems. The ma...

متن کامل

Renewed Hope for Data Parallelism: Unintegrated Support for Task Parallelism in ZPL

This paper suggests that data parallelism is more general than previously thought and that integrating support for task parallelism into a data parallel programming language is a mistake. With several proposed improvements, the data parallel programming language ZPL is surprisingly versatile. The language and its power are illustrated by the solution to several traditionally task parallel probl...

متن کامل

Integrating Data and Task Parallelism in Scientific Programs

Functional languages attract the attention of developers of parallelizing compilers because of the implicit parallelism of functional programs and the simplified data dependence analysis of functional statements. A major drawback of functional languages is that naive translation of functional programs results in code that requires excessive memory. In this paper we explore the connection betwee...

متن کامل

INTEGRATING DATA AND TASK PARALLELISM IN SCIENTIFIC PROGRAMSy

Functional languages attract the attention of developers of parallelizing compilers because of the implicit parallelism of functional programs and the simpliied data dependence analysis of functional statements. A major drawback of functional languages is that naive translation of functional programs results in code that requires excessive memory. In this paper we explore the connection between...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1995